// 定义变量
// 变量声明：类型 = 值
var num = 1;
var bool = true;
var str1 = "1231";
var str2 = "1231";
var str3 = "1231";
var arr = [1, 2, 3, 4, 5];
var arr1 = [true, false];
var arr2 = ["1231321"];
// 元组 Tuple
var t1 = [1, true];
// 枚举
var Color;
(function (Color) {
    Color[Color["Red"] = 0] = "Red";
    Color[Color["Yello"] = 1] = "Yello";
    Color[Color["Green"] = 2] = "Green";
})(Color || (Color = {}));
// Color.Red  => 0
// Color[0]   => Red
// Any: 任意类型
// 类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。
var a = 123;
a = 445;
a = 0;
a = "123";
a = true;
a = [1, 0.2, 34];
// Void: 函数没有返回值
function fn() { }
// Null 和 Undefined
var n = null;
var u = undefined;
// Never: never类型表示的是那些永不存在的值的类型
function fnn() {
    // while(true) {
    // }
    throw new Error("错了！！！");
}
var s = fnn();
// Object
// const o1: object = {};
// const o2: object = function () {};
// const o3: object = [];
// const o5: object = new String("1231231");
// const o4: object = new Number(123);
// const o6: object = new Date()
// const o7: object = Math
